package fr.fermeManager.application.frames;

import java.awt.Dimension;
import java.awt.Toolkit;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.border.EmptyBorder;

import net.miginfocom.swing.MigLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class FrameAbout extends JDialog {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private JPanel contentPane;
	
	private boolean editionAnnulee = true;
	private JLabel lblNewLabel;
	
	/**
	 * Create the frame.
	 * @param existeActifs 
	 */
	public FrameAbout(String versionString) {
		setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
		setModalityType(ModalityType.APPLICATION_MODAL);
		setTitle("Ferme Manager");
		setIconImage(Toolkit.getDefaultToolkit().getImage(FrameAbout.class.getResource("/img128x128/fleur.png")));
		
		setModal(true);
		setBounds(100, 100, 594, 577);
		contentPane = new JPanel();
		contentPane.setPreferredSize(new Dimension(580, 440));
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(new MigLayout("", "[230px,grow,fill]", "[208px,grow,fill][39px]"));
		
		JPanel panel_1 = new JPanel();
		contentPane.add(panel_1, "cell 0 0,grow");
		panel_1.setLayout(new MigLayout("", "[216px,grow,center]", "[grow,center][68.00,grow,center][46.00,grow,center][240.00,fill]"));
		
		JLabel label = new JLabel("");
		label.setIcon(new ImageIcon(FrameAbout.class.getResource("/img128x128/fleur.png")));
		panel_1.add(label, "cell 0 0");
		
		JLabel lblAuteurM = new JLabel("Auteur : Mohamed Gasmi");
		panel_1.add(lblAuteurM, "cell 0 1");
		
		lblNewLabel = new JLabel("Version : "+versionString);
		panel_1.add(lblNewLabel, "cell 0 2");
		
		
		JScrollPane scrollPane = new JScrollPane();
		panel_1.add(scrollPane, "cell 0 3,grow");
		
		JTextPane txtpnContratDeLicence = new JTextPane();
		scrollPane.setViewportView(txtpnContratDeLicence);
		txtpnContratDeLicence.setText("Contrat de licence Utilisateur Final (CLUF) :\r\n\r\nIMPORTANT: M. Mohamed Gasmi DEMEURE L'UNIQUE PROPRIETAIRE DANS LE CADRE DES LOIS INTERNATIONALES SUR LES DROITS D'AUTEURS ET LA PROPRIETE INTELLECTUELLE. TOUT DEVELOPPEMENT DOIT FAIRE L'OBJET D'UN ACCORD AVEC M. Mohamed Gasmi.\r\n\r\nLe Logiciel ci-inclus est une r\u00E9alisation de M. Mohamed Gasmi. Pour pouvoir utiliser le Logiciel conform\u00E9ment aux clauses du pr\u00E9sent contrat de licence, l'utilisateur doit disposer d'au moins une copie du Logiciel et d\u2019une licence unique d\u2019utilisation, repr\u00E9sent\u00E9e par une cl\u00E9 d\u2019activation (fournie par M. Mohamed Gasmi). Pour chaque copie du Logiciel, l'utilisateur doit disposer d'une copie du Logiciel sous licence, c'est-\u00E0-dire d\u2019une cl\u00E9 d\u2019activation. Le Logiciel et les copies autoris\u00E9es remplacent les copies du Logiciel sous licence et ne constituent pas des copies compl\u00E9mentaires (en d'autres termes, l'utilisateur n'est pas autoris\u00E9 \u00E0 utiliser un nombre de logiciels sup\u00E9rieur au nombre de licences qu'il poss\u00E8de).\r\n\r\nLe Logiciel est conc\u00E9d\u00E9 sous licence et non vendu par M. Mohamed Gasmi en vue d'\u00EAtre utilis\u00E9 selon les termes de la pr\u00E9sente Licence, M. Mohamed Gasmi se r\u00E9servant tous les droits non express\u00E9ment octroy\u00E9s \u00E0 l'utilisateur. L'utilisateur est propri\u00E9taire des supports (CD) sur lesquelles est stock\u00E9 le Logiciel, mais M. Mohamed Gasmi et ses conc\u00E9dants conservent la propri\u00E9t\u00E9 du Logiciel lui-m\u00EAme.\r\n\r\n1. Licence.\r\n\r\nLa pr\u00E9sente Licence autorise l'utilisateur \u00E0\r\n\r\n(a) effectuer le nombre de copies du Logiciel correspondant au nombre de licences en sa possession.\r\n\r\n(b) utiliser chacune de ces copies sur un ordinateur \u00E0 la fois. L'utilisateur doit \u00EAtre en possession d'une seule copie du Logiciel pour chaque licence en sa possession. Le Logiciel et les copies autoris\u00E9es conform\u00E9ment \u00E0 la pr\u00E9sente Licence ne constituent pas des copies suppl\u00E9mentaires. \"Utiliser\" le Logiciel signifie que ce dernier est soit charg\u00E9 dans la m\u00E9moire temporaire (c'est-\u00E0-dire la m\u00E9moire vive), soit install\u00E9 de mani\u00E8re permanente sur l'ordinateur (c'est-\u00E0-dire sur un disque dur, un CD-ROM, etc.). Le nombre de copies du Logiciel utilisables est fonction du nombre de licences dont l'utilisateur dispose.\r\n\r\nSi le Logiciel est install\u00E9 dans la m\u00E9moire permanente d'un seul ordinateur de bureau (c'est-\u00E0-dire un dispositif de stockage non partag\u00E9) et si l'ordinateur de bureau est utilis\u00E9 par une seule personne pendant au moins 80% du temps, cette m\u00EAme personne peut \u00E9galement utiliser le Logiciel sur un ordinateur portable ou \u00E0 domicile.\r\n\r\nLe Logiciel est prot\u00E9g\u00E9 par la loi sur les droits de reproduction. L'utilisateur doit reproduire sur chaque copie la mention relative aux droits de propri\u00E9t\u00E9 ainsi que toute autre mention figurant sur la copie originale fournie par M. Mohamed Gasmi. Ceci est une condition expresse de la pr\u00E9sente Licence.\r\n\r\nL'utilisateur ne peut pas c\u00E9der \u00E0 une tierce personne sans autorisation express de M. Mohamed Gasmi, et \u00E0 la condition que cette tierce personne lise et accepte les termes et les conditions de la pr\u00E9sente Licence.\r\n\r\n2. Restrictions.\r\n\r\nLe Logiciel contient des secrets de fabrication sous une forme d\u00E9chiffrable par l'homme. Pour la prot\u00E9ger, et \u00E0 l'exception de ce qui est permis par la loi, il est interdit de la D\u00C9SOSSER, DE LA D\u00C9COMPILER, DE LA DESSASEMBLER OU DE LA R\u00C9DUIRE \u00C0 UNE FORME D\u00C9CHIFFRABLE PAR L'HOMME. IL EST \u00C9GALEMENT INTERDIT DE MODIFIER, D'ADAPTER, DE TRADUIRE, DE LOUER, DE C\u00C9DER EN LOCATION-VENTE, DE PR\u00CATER, DE VENDRE AVEC PROFIT OU DE CR\u00C9ER QUELQUE \u00C9L\u00C9MENT QUE CE SOIT REPOSANT SUR TOUT OU PARTIE DU LOGICIEL.\r\n\r\n3. Annulation.\r\n\r\nLa pr\u00E9sente Licence reste valable jusqu'\u00E0 son annulation. La Licence peut \u00EAtre annul\u00E9e sans pr\u00E9avis de la part de M. Mohamed Gasmi, ou sans d\u00E9cision judiciaire en cas de non-respect par l'utilisateur des dispositions du pr\u00E9sent Contrat. Dans ce cas, l'utilisateur s'engage \u00E0 d\u00E9truire le Logiciel, la Mise \u00E0 jour, et toutes les copies qui en ont \u00E9t\u00E9 faites ainsi que la documentation d'accompagnement. L'utilisateur peut \u00E9galement annuler la Licence \u00E0 tout moment en d\u00E9truisant le Logiciel, la Mise \u00E0 jour, et toutes les copies qui en ont \u00E9t\u00E9 faites ainsi que la documentation d'accompagnement.\r\n\r\n4. Exportation.\r\n\r\nL'utilisateur s'engage \u00E0 ce que le Logiciel ou ses produits directs ou indirects ne soient pas exp\u00E9di\u00E9s, transf\u00E9r\u00E9s, r\u00E9export\u00E9s, c\u00E9d\u00E9s, vendus, pr\u00EAt\u00E9s directement ou indirectement vers des tiers ou \u00E0 des fins prohib\u00E9es dans le cadre de cette r\u00E9glementation.\r\n\r\n5. D\u00E9ni de responsabilit\u00E9 et limitation de garanties.\r\n\r\nL'UTILISATEUR RECONNA\u00CET QUE LE LOGICIEL PEUT NE PAS SATISFAIRE TOUS SES BESOINS OU NE PAS \u00CATRE EXEMPTE DE D\u00C9FAUTS. AUCUNE GARANTIE OU CONDITIONS (Y COMPRIS LA GARANTIE TACITE DE CONFORMIT\u00C9 OU D'APTITUDE \u00C0 REMPLIR UNE FONCTION DONN\u00C9E) N'EST DONN\u00C9E CONCERNANT LE LOGICIEL ET LA DOCUMENTATION D'ACCOMPAGNEMENT. EN AUCUN CAS, M. Mohamed Gasmi, NI SES PROGRAMMEURS, DIRIGEANTS, CADRES, EMPLOY\u00C9S OU COLLABORATEURS NE SAURAIENT \u00CATRE TENUS RESPONSABLES DE PR\u00C9JUDICES FORTUITS, INDUITS OU INDIRECTS (MANQUES \u00C0 GAGNER, INTERRUPTIONS D'ACTIVIT\u00C9S, PERTES DE DONN\u00C9ES, ETC.), PR\u00C9VISIBLES OU IMPR\u00C9VISIBLES, D\u00C9COULANT DE L'UTILISATION OU DE L'IMPOSSIBILIT\u00C9 D'UTILISER LE LOGICIEL OU SA DOCUMENTATION, QUEL QUE SOIT LE FONDEMENT DU RECOURS ET QUAND BIEN M\u00CAME M. Mohamed Gasmi OU L'UN DE SES REPR\u00C9SENTANTS D\u00DBMENT AUTORIS\u00C9S AURAIT \u00C9T\u00C9 AVIS\u00C9 DE LA POSSIBILIT\u00C9 D'UN TEL PR\u00C9JUDICE. TOUTEFOIS, M. Mohamed Gasmi S'ENGAGE \u00C0 FAIRE FONCTIONNER LE LOGICIEL COMME PR\u00C9VU AU CAHIER DES CHARGES.\r\n\r\n6. Remarques g\u00E9n\u00E9rales.\r\n\r\nLa pr\u00E9sente Licence est r\u00E9gie par les lois en vigueur en France. Si l'une des clauses de la pr\u00E9sente Licence est jug\u00E9e contraire \u00E0 la loi par une juridiction comp\u00E9tente, elle sera appliqu\u00E9e dans toute la mesure du possible, toutes les autres clauses restant pleinement valables. L'utilisation, la diffusion et la reproduction du Logiciel sont soumises aux dispositions des lois en vigueur dans le pays d'origine du Logiciel.");
		txtpnContratDeLicence.setToolTipText("");
		txtpnContratDeLicence.setEditable(false);
		
		JPanel panel = new JPanel();
		contentPane.add(panel, "cell 0 1,grow");
		panel.setLayout(new MigLayout("", "[grow][][][][grow]", "[grow]"));
		
		JButton btnOk = new JButton("Ok");
		btnOk.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				quitterModale();
			}
		});
		btnOk.setIcon(new ImageIcon(FrameAbout.class.getResource("/img16x16/ok.png")));
		panel.add(btnOk, "cell 2 0");
		pack();
	}

	protected void quitterModale() {
		setVisible(false);
		dispose();
	}

	public boolean isEditionAnnulee() {
		return editionAnnulee;
	}
}
